﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SIM.Geo.BE;
using System.Data;

namespace SIM.Geo.DA
{
    public class DAAvanceDiarioSonsajes : Base
    {
        #region Metodos
        /// <summary>
        /// Método que devuelve la lista de AvanceDiarioSonsajes
        /// </summary>
        /// <returns></returns>
        public List<AvanceDiarioSonsajes> ListarAvanceDiarioSonsajes(int codigoAvanceDiario)
        {
            return this.Context.AvanceDiarioSonsajes.Where(x => x.CodigoAvanceDiario == codigoAvanceDiario).ToList();
        }
        /// <summary>
        /// Método para insertar una AvanceDiarioSonsajes
        /// </summary>
        /// <param name="AvanceDiarioSonsajes"></param>
        /// <returns></returns>
        public int InsertarAvanceDiarioSonsajes(AvanceDiarioSonsajes avanceDiarioSonsajes)
        {
            this.Context.AvanceDiarioSonsajes.AddObject(avanceDiarioSonsajes);
            this.Context.SaveChanges();
            return avanceDiarioSonsajes.CodigoAvanceDiario;
        }
        /// <summary>
        /// Método para modificar un AvanceDiarioSonsajes
        /// </summary>
        /// <param name="AvanceDiarioSonsajes"></param>
        public void ModificarAvanceDiarioSonsajes(AvanceDiarioSonsajes avanceDiarioSonsajes)
        {
            this.Context.AvanceDiarioSonsajes.Attach(avanceDiarioSonsajes);
            this.Context.ObjectStateManager.ChangeObjectState(avanceDiarioSonsajes, EntityState.Modified);
            this.Context.SaveChanges();
        }
        /// <summary>
        /// Método para eliminar AvanceDiarioSonsajes
        /// </summary>
        /// <param name="AvanceDiarioSonsajes"></param>
        public void EliminarAvanceDiarioSonsajes(AvanceDiarioSonsajes avanceDiarioSonsajes)
        {
            this.Context.AvanceDiarioSonsajes.DeleteObject(avanceDiarioSonsajes);
            this.Context.SaveChanges();
        }

        /// <summary>
        /// Método que devuelve AvanceDiarioSonsajes por codigo
        /// </summary>
        /// <param name="codigoAvanceDiarioSonsajes"></param>
        /// <returns></returns>
        public AvanceDiarioSonsajes ObtenerAvanceDiarioSonsajes(int codigoAvanceDiario, int codigoSondaje)
        {
            return this.Context.AvanceDiarioSonsajes.Where(x => x.CodigoAvanceDiario.Equals(codigoAvanceDiario) && x.CodigoSondaje.Equals(codigoSondaje)).FirstOrDefault();
        }

        /// <summary>
        /// Método que devuelve la lista de AvanceDiarioSonsajes Por Avance diario
        /// </summary>
        /// <returns></returns>
        public List<listarAvanceDiarioSondajes_Result> ListarAvanceDiarioSonsajesPorAvanceDiario(int codigoAvanceDiario)
        {
            return this.Context.listarAvanceDiarioSondajes(codigoAvanceDiario).ToList();
        }
        #endregion
    }
}
